var express = require('express')
var router = express.Router()
var UserModel = require('../../models/UserModel')
var md5 = require('md5')

// 注册页面
router.get('/reg', (req, res) => {
    res.render('auth/reg')
})

// 注册
router.post('/reg', (req, res) => {
    // 表单验证 先不做
    // 获取请求体数据
    UserModel.create({ ...req.body, password: md5(req.body.password) }, (err, data) => {
        if (err) {
            res.status(500).send('注册失败，请稍后再试~~')
            return
        }
        res.render('success', { msg: '注册成功', url: '/login' })
    })
})

// 登录页面
router.get('/login', (req, res) => {
    res.render('auth/login')
})

// 登录
router.post('/login', (req, res) => {
    // 获取用户输入的账号密码
    let { username, password } = req.body
    // 查询数据库
    UserModel.findOne({ username: username, password: md5(password) }, (err, data) => {
        if (err) {
            res.status(500).send('登录失败，请稍后再试~~')
            return
        }
        // 数据库没有查到
        if (!data) {
            return res.send('账号或密码错误~~')
        }
        // 登录成功
        // 写入 session
        req.session.username = data.username
        req.session._id = data._id
        // 响应
        res.render('success', { msg: "登陆成功", url: "/account" })
    })
})

// 退出登录
router.post('/logout', (req, res) => {
    // 销毁 session
    req.session.destroy(() => {
        res.render('success', { msg: '退出成功', url: '/login' })
    })
})

module.exports = router